home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Kellogg's Amérique
/
Kellogg's Amérique
/
main.swf
/
scripts
/
Main.as
< prev
next >
Wrap
Text File
|
2020-08-04
|
25KB
|
686 lines
package
{
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.media.SoundTransform;
import flash.net.URLRequest;
import flash.system.fscommand;
import flash.text.TextFormat;
import flash.utils.Timer;
public class Main extends MovieClip
{
var sonJouer:Sound;
var sonMusique:Sound;
var sonDefaite:Sound;
public var btQuitterPortail:SimpleButton;
public var btChangerSession:SimpleButton;
public var page_classement:MovieClip;
private var displayJeu:DisplayObject;
var canalDeplacement:SoundChannel;
private var session:Session;
var sonDeplacement:Sound;
private var jeu:Object;
private var classementNoPage:Number = 1;
private var jeuActif:Boolean = false;
private var choix_jeu:Number;
public var page_fin_jeu:MovieClip;
public var btClassement:SimpleButton;
public var btQuitter:SimpleButton;
var canalPresentation:SoundChannel;
public var page_jeu:MovieClip;
var canalVictoire:SoundChannel;
private var presentation:Boolean = false;
public var popupQuitterPortail:MovieClip;
var canalJouer:SoundChannel;
private var positionSonPresentation:Number;
public var btFaq:SimpleButton;
public var page_faq:MovieClip;
public var page_compte:MovieClip;
var canalMusique:SoundChannel;
private var son:Boolean = true;
public var page_carte:MovieClip;
public var popupQuitterJeu:MovieClip;
var canalDefaite:SoundChannel;
public var logo:MovieClip;
var sonVictoire:Sound;
private const VOLUME_MUSIQUE:Number = 0.35;
public var page_chargement:MovieClip;
var sonPresentation:Sound;
private var diaporamaActif:Boolean = false;
public function Main()
{
var _loc1_:Number = NaN;
presentation = false;
son = true;
diaporamaActif = false;
jeuActif = false;
classementNoPage = 1;
canalMusique = new SoundChannel();
canalPresentation = new SoundChannel();
canalDeplacement = new SoundChannel();
canalJouer = new SoundChannel();
canalVictoire = new SoundChannel();
canalDefaite = new SoundChannel();
sonMusique = new Sound();
sonPresentation = new Sound();
sonDeplacement = new Sound();
sonJouer = new Sound();
sonVictoire = new Sound();
sonDefaite = new Sound();
super();
fscommand("fullscreen","true");
fscommand("allowscale","false");
session = new Session(DataMain.CD);
stage.stageFocusRect = false;
this["page_compte"].comboPeusos.addEventListener(Event.CHANGE,session_selectionne);
this["page_compte"].btIdentifier.addEventListener(MouseEvent.MOUSE_DOWN,session_ouvrir);
this["page_compte"].btCreerCompte.addEventListener(MouseEvent.MOUSE_DOWN,bouton_creer_compte);
this["page_compte"]["pseudo2"].maxChars = session.IDENTIFIANT_NB_CARACTERES_MAX;
_loc1_ = 1;
while(_loc1_ <= DataMain.NOMBRE_JEUX)
{
this["page_carte"]["btJeu_" + _loc1_].addEventListener(MouseEvent.MOUSE_DOWN,choisir_jeu);
_loc1_++;
}
this["page_carte"].presentation.visible = false;
this["page_carte"].presentation.btJouer.addEventListener(MouseEvent.MOUSE_DOWN,afficher_jeu);
this["page_carte"].jeu_final.stop();
this["page_carte"].btDiaporama.addEventListener(MouseEvent.MOUSE_DOWN,afficher_diaporama);
this["page_carte"].btDiaporama.buttonMode = true;
this["page_carte"].sonMC.addEventListener(MouseEvent.MOUSE_DOWN,bouton_son);
this["page_carte"].sonMC.buttonMode = true;
actualiser_perso2();
this["page_jeu"].tabEnabled = false;
this["page_fin_jeu"].visible = false;
this["page_classement"]["btFermer"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_carte);
this["page_classement"]["btFermer"].buttonMode = true;
this["page_classement"]["btPrecedent"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_classement_page_precedente);
this["page_classement"]["btSuivant"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_classement_page_suivante);
this["btClassement"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_classement);
this["btChangerSession"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_compte);
this["btFaq"].addEventListener(MouseEvent.MOUSE_DOWN,afficher_faq);
this["btQuitter"].addEventListener(MouseEvent.MOUSE_DOWN,fermer_jeu);
this["btQuitterPortail"].addEventListener(MouseEvent.MOUSE_DOWN,fermer_portail);
popupQuitterPortail.fond.useHandCursor = false;
popupQuitterPortail.btOui.addEventListener(MouseEvent.MOUSE_DOWN,fermer_portail_oui);
popupQuitterPortail.btNon.addEventListener(MouseEvent.MOUSE_DOWN,fermer_portail_non);
popupQuitterPortail.visible = false;
popupQuitterJeu.fond.useHandCursor = false;
popupQuitterJeu.btOui.addEventListener(MouseEvent.MOUSE_DOWN,fermer_jeu_oui);
popupQuitterJeu.btNon.addEventListener(MouseEvent.MOUSE_DOWN,fermer_jeu_non);
popupQuitterJeu.visible = false;
page_faq.visible = false;
page_faq.fond.useHandCursor = false;
page_faq.btFermer.addEventListener(MouseEvent.MOUSE_DOWN,fermer_faq);
page_faq.btFermer.buttonMode = true;
afficher_bouton();
effacer_pages();
afficher_compte();
sonMusique.load(new URLRequest("sons/musique.mp3"));
sonPresentation.load(new URLRequest("sons/presentation.mp3"));
sonDeplacement.load(new URLRequest("sons/deplacement.mp3"));
sonJouer.load(new URLRequest("sons/jouer.mp3"));
sonVictoire.load(new URLRequest("sons/bravo.mp3"));
sonDefaite.load(new URLRequest("sons/dommage.mp3"));
}
private function session_selectionne(param1:Event = null) : *
{
}
private function afficher_presentation_jeu(param1:Event = null) : void
{
this["page_carte"].presentation.gotoAndStop(choix_jeu);
this["page_carte"].presentation.visible = true;
this["page_carte"].presentation.btJouer.addEventListener(MouseEvent.MOUSE_DOWN,afficher_jeu);
this["page_carte"].presentation.btJouer.buttonMode = true;
}
private function afficher_compte(param1:Event = null) : void
{
var _loc2_:Array = null;
var _loc3_:* = undefined;
var _loc4_:* = undefined;
presentation = false;
this["page_carte"]["perso"].visible = false;
this["page_carte"]["perso2"].visible = false;
this["page_carte"]["bulle"].visible = true;
this["page_carte"]["mascotte"].visible = true;
this["page_carte"].presentation.visible = false;
page_carte.perso.gotoAndStop(1);
SoundMixer.stopAll();
_loc2_ = session.afficher_liste();
_loc3_ = this["page_compte"].comboPeusos;
_loc3_.removeAll();
for each(_loc4_ in _loc2_)
{
_loc3_.addItem({"label":_loc4_});
}
_loc3_.textField.setStyle("textFormat",new TextFormat("Maiandra GD",15,3355443));
_loc3_.dropdown.setRendererStyle("textFormat",new TextFormat("Maiandra GD",15,3355443));
_loc3_.rowCount = _loc2_.length;
effacer_pages();
this["page_compte"]["pseudo2"].text = "";
this["page_compte"].visible = true;
this["btClassement"].visible = false;
this["btChangerSession"].visible = false;
if(_loc2_.length >= 5)
{
this.page_compte.creer_compte.visible = false;
this.page_compte.pseudo2.visible = false;
this.page_compte.btCreerCompte.visible = false;
}
}
private function fermer_faq(param1:MouseEvent = null) : void
{
page_faq.visible = false;
}
private function afficher_classement_page_precedente(param1:Event = null) : void
{
--classementNoPage;
this["page_classement"]["btSuivant"].visible = true;
if(classementNoPage <= 1)
{
classementNoPage = 1;
this["page_classement"]["btPrecedent"].visible = false;
}
else
{
this["page_classement"]["btPrecedent"].visible = true;
}
afficher_classement_page_actuelle();
}
private function afficher_carte(param1:Event = null) : void
{
var _loc2_:SoundTransform = null;
canalMusique.stop();
if(son)
{
canalMusique = sonMusique.play(0,9999);
_loc2_ = canalMusique.soundTransform;
_loc2_.volume = VOLUME_MUSIQUE;
canalMusique.soundTransform = _loc2_;
}
effacer_pages();
this["page_carte"].visible = true;
this["btClassement"].visible = true;
this["btChangerSession"].visible = true;
actualiser_carte();
if(!presentation && son)
{
canalPresentation = sonPresentation.play(0,1);
presentation = true;
}
}
private function fermer_portail(param1:MouseEvent) : void
{
popupQuitterPortail.visible = true;
}
private function actualiser_carte(param1:* = null) : void
{
var _loc2_:Number = NaN;
_loc2_ = 1;
while(_loc2_ <= session.NB_JEUX_MAX)
{
if(session.jeu_actif(_loc2_))
{
this["page_carte"]["jeu_" + _loc2_].gotoAndStop(1);
this["page_carte"]["btJeu_" + _loc2_].visible = true;
}
else
{
this["page_carte"]["jeu_" + _loc2_].gotoAndStop(2);
this["page_carte"]["btJeu_" + _loc2_].visible = false;
}
_loc2_++;
}
}
private function afficher_jeu(param1:Event = null) : void
{
var _loc2_:URLRequest = null;
var _loc3_:* = undefined;
if(DataMain.Jeux[choix_jeu - 1].chemin != "")
{
this["page_chargement"].visible = true;
this["page_chargement"]["zone"].useHandCursor = false;
trace(DataMain.Jeux[choix_jeu - 1].chemin);
_loc2_ = new URLRequest(DataMain.Jeux[choix_jeu - 1].chemin);
_loc3_ = new Loader();
_loc3_.load(_loc2_);
_loc3_.contentLoaderInfo.addEventListener(Event.COMPLETE,jeu_charge);
if(son)
{
sonJouer.play(0,1);
}
}
}
public function enregistrer_score(param1:Number) : void
{
var _loc2_:Timer = null;
if(jeuActif)
{
session.enregistrer_score(choix_jeu,param1);
actualiser_carte();
if(param1 > DataMain.Jeux[choix_jeu - 1].seuil_score)
{
if(son)
{
sonVictoire.play(0,1);
}
trace("Main.as : sonVictoire");
}
else
{
if(son)
{
sonDefaite.play(0,1);
}
trace("Main.as : sonDefaite");
}
if(choix_jeu == 9)
{
if(son)
{
canalMusique.stop();
_loc2_ = new Timer(1500,1);
_loc2_.addEventListener("timer",lancer_musique);
_loc2_.start();
}
}
}
}
private function afficher_classement(param1:Event = null) : void
{
var _loc2_:Number = NaN;
var _loc3_:Array = null;
var _loc4_:Number = NaN;
var _loc5_:* = undefined;
effacer_pages();
this["page_classement"].visible = true;
classementNoPage = 1;
_loc2_ = 1;
_loc3_ = session.afficher_liste();
_loc5_ = 1;
while(_loc5_ <= session.NB_SESSIONS_MAX)
{
if(_loc5_ <= _loc3_.length)
{
this["page_classement"]["colonne_" + _loc5_]["nom"].text = _loc3_[_loc5_ - 1];
_loc4_ = 0;
_loc2_ = 1;
while(_loc2_ <= DataMain.NOMBRE_JEUX)
{
if(session.afficher_score_detail(_loc5_,_loc2_) < 0)
{
this["page_classement"]["colonne_" + _loc5_]["score_" + _loc2_].text = "-";
}
else
{
this["page_classement"]["colonne_" + _loc5_]["score_" + _loc2_].text = session.afficher_score_detail(_loc5_,_loc2_);
_loc4_ += session.afficher_score_detail(_loc5_,_loc2_);
}
_loc2_++;
}
this["page_classement"]["colonne_" + _loc5_]["total"].text = _loc4_;
this["page_classement"]["colonne_" + _loc5_].visible = true;
}
else
{
this["page_classement"]["colonne_" + _loc5_].visible = false;
}
_loc5_++;
}
this["page_classement"]["btPrecedent"].visible = false;
this["page_classement"]["btSuivant"].visible = false;
}
private function actualiser_perso2() : *
{
this["page_carte"]["perso2"].x = this["page_carte"]["perso"]["perso"].x + DataMain.persoAnimDecalage_X;
this["page_carte"]["perso2"].y = this["page_carte"]["perso"]["perso"].y + DataMain.persoAnimDecalage_Y;
this["page_carte"]["perso"]["perso"].visible = false;
}
private function fermer_jeu_non(param1:MouseEvent) : void
{
popupQuitterJeu.visible = false;
}
private function afficher_faq(param1:MouseEvent = null) : void
{
page_faq.visible = true;
}
private function fermer_portail_non(param1:MouseEvent) : void
{
popupQuitterPortail.visible = false;
}
private function choisir_jeu(param1:Event = null) : void
{
choix_jeu = param1.currentTarget.name.substr(param1.currentTarget.name.indexOf("_") + 1,param1.currentTarget.name.length - param1.currentTarget.name.indexOf("_") + 1);
this["page_carte"].presentation.visible = false;
trace("choisir_jeu : " + choix_jeu);
this.addEventListener(Event.ENTER_FRAME,actualiser_perso);
this["page_carte"]["perso"].visible = true;
this["page_carte"]["perso2"].visible = true;
this["page_carte"]["bulle"].visible = false;
this["page_carte"]["mascotte"].visible = false;
canalDeplacement.stop();
if(son)
{
canalDeplacement = sonDeplacement.play(0,1);
}
}
private function afficher_bouton(param1:Boolean = false) : *
{
this["btClassement"].visible = !param1;
if(this["btFaq"] != null)
{
this["btFaq"].visible = !param1;
}
this["btChangerSession"].visible = !param1;
this["btQuitterPortail"].visible = !param1;
this["btQuitter"].visible = param1;
}
private function afficher_classement_page_suivante(param1:Event = null) : void
{
++classementNoPage;
this["page_classement"]["btPrecedent"].visible = true;
if(classementNoPage >= session.afficher_liste().length - 2)
{
classementNoPage = session.afficher_liste().length - 2;
this["page_classement"]["btSuivant"].visible = false;
}
afficher_classement_page_actuelle();
}
private function fermer_portail_oui(param1:MouseEvent) : void
{
popupQuitterPortail.visible = false;
fscommand("quit");
}
private function actualiser_perso(param1:Event = null) : void
{
var _loc2_:Number = NaN;
var _loc3_:Number = NaN;
_loc3_ = 0;
while(_loc3_ < DataMain.persoEtapes.length)
{
if(DataMain.persoEtapes[_loc3_] > this["page_carte"]["perso"].currentFrame)
{
_loc2_ = _loc3_ + 1;
break;
}
_loc3_++;
}
if(this["page_carte"]["perso"].currentFrame < DataMain.persoEtapes[choix_jeu - 1])
{
this["page_carte"]["perso"].nextFrame();
switch(DataMain.persoMouvements[_loc2_ - 2])
{
case "D":
if(this["page_carte"]["perso2"].currentFrame != 10)
{
this["page_carte"]["perso2"].gotoAndStop(10);
}
break;
case "G":
if(this["page_carte"]["perso2"].currentFrame != 20)
{
this["page_carte"]["perso2"].gotoAndStop(20);
}
}
}
else if(this["page_carte"]["perso"].currentFrame > DataMain.persoEtapes[choix_jeu - 1])
{
this["page_carte"]["perso"].prevFrame();
switch(DataMain.persoMouvements[_loc2_ - 2])
{
case "D":
if(this["page_carte"]["perso2"].currentFrame != 20)
{
this["page_carte"]["perso2"].gotoAndStop(20);
}
break;
case "G":
if(this["page_carte"]["perso2"].currentFrame != 10)
{
this["page_carte"]["perso2"].gotoAndStop(10);
}
}
}
else
{
this["page_carte"]["perso2"].gotoAndStop(1);
this.removeEventListener(Event.ENTER_FRAME,actualiser_perso);
afficher_presentation_jeu();
canalDeplacement.stop();
}
actualiser_perso2();
}
private function afficher_classement_page_actuelle(param1:Event = null) : void
{
var _loc2_:Number = NaN;
_loc2_ = 1;
while(_loc2_ <= session.NB_SESSIONS_MAX)
{
if(_loc2_ < classementNoPage)
{
this["page_classement"]["colonne_" + _loc2_].visible = false;
}
else if(_loc2_ - classementNoPage < 3)
{
this["page_classement"]["colonne_" + _loc2_].visible = true;
this["page_classement"]["colonne_" + _loc2_].x = 500 + (_loc2_ - classementNoPage) * 90;
}
else
{
this["page_classement"]["colonne_" + _loc2_].visible = false;
}
_loc2_++;
}
}
private function effacer_pages() : void
{
this["page_chargement"].visible = false;
this["page_compte"].visible = false;
this["page_carte"].visible = false;
this["page_fin_jeu"].visible = false;
this["page_classement"].visible = false;
}
private function fermer_jeu_oui(param1:MouseEvent = null) : void
{
var _loc2_:SoundTransform = null;
SoundMixer.stopAll();
popupQuitterJeu.visible = true;
if(son)
{
canalMusique.stop();
canalMusique = sonMusique.play(0,9999);
_loc2_ = canalMusique.soundTransform;
_loc2_.volume = VOLUME_MUSIQUE;
canalMusique.soundTransform = _loc2_;
}
this["page_jeu"].removeChild(displayJeu);
afficher_bouton(false);
this["logo"].visible = true;
jeuActif = false;
popupQuitterJeu.visible = false;
if(jeu.quitter != null)
{
jeu.quitter();
}
}
private function afficher_diaporama(param1:Event = null) : void
{
var _loc2_:URLRequest = null;
var _loc3_:* = undefined;
diaporamaActif = true;
this["page_chargement"].visible = true;
this["page_chargement"]["zone"].useHandCursor = false;
trace(DataMain.cheminDiaporama);
_loc2_ = new URLRequest(DataMain.cheminDiaporama);
_loc3_ = new Loader();
_loc3_.load(_loc2_);
_loc3_.contentLoaderInfo.addEventListener(Event.COMPLETE,jeu_charge);
canalPresentation.stop();
}
private function session_ouvrir(param1:Event = null) : *
{
if(this["page_compte"].comboPeusos.rowCount > 0)
{
trace("session_ouvrir : " + (this["page_compte"].comboPeusos.selectedIndex + 1));
session.selectionner(this["page_compte"].comboPeusos.selectedIndex + 1,"");
afficher_carte();
}
}
private function bouton_creer_compte(param1:Event = null) : *
{
if(this["page_compte"].pseudo2.text == "")
{
return;
}
session.creer(this["page_compte"].pseudo2.text,"");
afficher_carte();
}
public function fermer_jeu(param1:Number) : void
{
if(diaporamaActif)
{
diaporamaActif = false;
fermer_jeu_oui();
}
else
{
popupQuitterJeu.visible = true;
}
}
public function lancer_musique(param1:*) : *
{
var _loc2_:SoundTransform = null;
if(jeuActif)
{
canalMusique.stop();
canalMusique = sonMusique.play(0,1);
_loc2_ = canalMusique.soundTransform;
_loc2_.volume = VOLUME_MUSIQUE;
canalMusique.soundTransform = _loc2_;
}
}
private function bouton_son(param1:MouseEvent) : void
{
var _loc2_:SoundTransform = null;
if(param1.currentTarget.currentFrame == 1)
{
param1.currentTarget.gotoAndStop(2);
son = false;
positionSonPresentation = canalPresentation.position;
canalPresentation.stop();
SoundMixer.stopAll();
}
else
{
param1.currentTarget.gotoAndStop(1);
son = true;
canalMusique = sonMusique.play(0,9999);
_loc2_ = canalMusique.soundTransform;
_loc2_.volume = VOLUME_MUSIQUE;
canalMusique.soundTransform = _loc2_;
canalPresentation = sonPresentation.play(positionSonPresentation,1);
}
}
private function jeu_charge(param1:Event) : void
{
canalMusique.stop();
canalPresentation.stop();
afficher_bouton(true);
this["page_chargement"].visible = false;
jeu = param1.currentTarget.content;
jeu.fin = enregistrer_score;
displayJeu = this["page_jeu"].addChild(jeu);
page_jeu.stage.focus = page_jeu;
page_jeu.stage.stageFocusRect = false;
this["btClassement"].visible = false;
this["btChangerSession"].visible = false;
afficher_bouton(true);
this["logo"].visible = false;
if(!diaporamaActif)
{
session.enregistrer_score(choix_jeu,0);
actualiser_carte();
jeuActif = true;
}
}
}
}